/*
 *  $Id: Flight.cs 1024 2010-05-13 15:10:45Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

namespace Ragima.Affects {
    /// <summary>
    /// Эффект: полет (флаг)
    /// Дает существу возможность летать.
    /// </summary>
    public class Flight: FlagAffect {
        public override string Id {
            get { return "flight"; }
        }

        public override ElementType Element {
            get { return ElementType.Air; }
        }

        public override int BaseWeight {
            get { return 60; }
        }

        public override AffectIcon Icon {
            get { return AffectIcon.Flight; }
        }
    }

    /// <summary>
    /// Эффект: блокировка полета (флаг)
    /// Дает существу возможность блокировать летающих.
    /// </summary>
    public class FlightBlock: FlagAffect {
        public override string Id {
            get { return "flight.block"; }
        }

        public override int BaseWeight {
            get { return 20; }
        }

        public override AffectIcon Icon {
            get { return AffectIcon.FlightBlock; }
        }
    }

    public abstract class FlightAura: CreatureAuraAffect {
        public FlightAura(bool own, bool enemy): base(own, enemy) {}

        public override int AverageWeightPercent {
            get { return 250; }
        }

        protected override bool AcceptCreature(Creature cr) {
            return cr.CanFly;
        }
    }
}